/*
  记录一下
  $eq	与指定的值相等
  $ne	与指定的值不相等
  $gt	大于指定的值
  $gte	大于等于指定的值
  $lt	小于指定的值
  $lte	小于等于指定的值
  $in	与查询数组中指定的值中的任何一个匹配
  $nin	与查询数组中指定的值中的任何一个都不匹配
 */
import { Connection } from 'mongoose';
import { getInstance } from '../../db';
import { accountSchema } from '../../schemas/accountSchema';

interface IParms {
  uid?: string;
  usename?: string;
  [props: string]: any;
}



export async function getUserInfo(params: IParms):Promise<IAnyObject> {
  const db: Connection = await getInstance();

  const accountmodel = db.model('accountmodel', accountSchema);

  let condition = {};

  // 查询条件
  for (const item in params) {
    condition = {
      ...condition,
      [item]: {
        $eq: params[item],
      },
    }
  }

  const result = await accountmodel.find(condition);

  return result;
}
  